1. Field
The technology described herein relates to graphics processing systems and in particular to the so-called “accumulation buffer” operation in graphics processing systems.
2. Description of the Related Art
As is known in the art, there is a process in graphics processing that is commonly referred to as the “accumulation buffer”. This process is a well-known feature that is, for example, part of the desktop Open GL standard.
The “accumulation buffer” process basically involves rendering several different versions of a “frame”, e.g. from several different viewing angles, and accumulating a desired weighted average of all the different rendered versions of the frame in a single buffer (the “accumulation buffer”). This resulting “accumulation buffer” averaged version of the different frames is then used as the output frame (e.g., and typically, as the frame to be displayed).
The “accumulation buffer” is typically used to emulate a number of different effects, such as depth of field, motion blur, soft shadows and anti-aliasing.
One drawback with the use of the accumulation buffer is that in existing implementations, it requires the use of an external (to the graphics processor) full-frame floating point buffer to act as the accumulation buffer. While this may be acceptable in the case of more powerful desktop graphics processing systems, the Applicants have recognised that such an arrangement is not desirable in lower-powered graphics processing systems, such as embedded graphics processing systems and/or systems for use in portable devices. Indeed, for this and other reasons, the Open GLES standard, for example, does not include the use of accumulation buffers.
The Applicants believe therefore that there remains scope for improvements to accumulation buffer operation and implementation in graphics processing systems.